from cmath import *
from decimal import *
def solves():
n = int(input())
lst =sorted(list(map(int,input().split())))
ans=0
for i in range(n):
if lst[i] != i+1:
ans+=abs(lst[i]-(i+1))
print(ans)
t=1
for _ in range(t):
solves()
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define vi vector<int>
#define vl vector<long long>
#define vpi vector<pair<int,int>>
#define vpl vector<pair<<long long,long long>>
#define si set<int>
#define sl set<long long>
#define usi unordered_set<int>
#define usl unordered_set<long long>
#define mi map<int,int>
#define ml map<long long,long long>
#define umi unordered_map<int,int>
#define uml unordered_map<long long,long long>
#define pb push_back
#define fr first
#define sc second
#define M int(1e9+7)
#define Y cout<<"YES\n"
#define N cout<<"NO\n"
#define NP cout<<"-1\n"
#define all(x) (x).begin(), (x).end()
#define R return
#define anand_patel ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define loop_in(i,x,a) for(int i=x;i<a;i++)
#define loop_dec(i,x,a) for(int i=x;i>=a;i--)
/**********************************************************************************/
void __print(int x) {cout << x;}
void __print(long x) {cout << x;}
void __print(long long x) {cout << x;}
void __print(unsigned x) {cout << x;}
void __print(unsigned long x) {cout << x;}
void __print(unsigned long long x) {cout << x;}
void __print(float x) {cout << x;}
void __print(double x) {cout << x;}
void __print(long double x) {cout << x;}
void __print(char x) {cout << '\'' << x << '\'';}
void __print(const char *x) {cout << '\"' << x << '\"';}
void __print(const string &x) {cout << '\"' << x << '\"';}
void __print(bool x) {cout << (x ? "true" : "false");}
template<typename T, typename V>
void __print(const pair<T, V> &x) {cout << '{'; __print(x.first); cout << ','; __print(x.second); cout << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cout << '{'; for (auto &i: x) cout << (f++ ? "," : ""), __print(i); cout << "}";}
void _print() {cout << "]"<<endl;}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cout << ", "; _print(v...);}
#define deb(x...) cout << #x << " = ["; _print(x)
/***************************************************************************************************************************************/
void solve(){
int n;
cin>>n;
vi v(n);
loop_in(i,0,n) cin>>v[i];
sort(all(v));
ll ans=0;
loop_in(i,0,n){
ans+=abs(v[i]-(i+1));
}
cout<<ans<<endl;
}
int main()
{
anand_patel;
int t=1;
// cin>>t;
while(t--){
// cout<<t<<endl;
solve();
}
return 0;
}
797. All Paths From Source to Target | 1547B - Alphabetical Strings |
1550A - Find The Array | 118B - Present from Lena |
27A - Next Test | 785. Is Graph Bipartite |
90. Subsets II | 1560A - Dislike of Threes |
36. Valid Sudoku | 557. Reverse Words in a String III |
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |
21. Merge Two Sorted Lists | 203. Remove Linked List Elements |
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |